"""
生成离职证明
    导入模块
    将真实的员工信息保存在字典中

"""
from docx import Document

person_list = [
    {
        "name": "唐天偿",
        "id": "123456789123456789",
        "sdate": "2017年1月1日",
        "edate": "2021年11月1日",
        "department": "技术部",
        "position": "架构师",
        "company": "深圳华为技术有限公司"
    },
    {
        "name": "刘一奇",
        "id": "0987654321098765432",
        "sdate": "2016年1月1日",
        "edate": "2020年11月1日",
        "department": "行政部",
        "position": "打手",
        "company": "黑龙江天上人间桑拿会所"
    },
    {
        "name": "张国焘",
        "id": "123456789123456789",
        "sdate": "2015年1月1日",
        "edate": "2025年11月1日",
        "department": "后厨部",
        "position": "试吃员",
        "company": "深圳市今委员餐饮有限公司"
    },
    {
        "name": "欧阳",
        "id": "123456789123456789",
        "sdate": "2011年1月1日",
        "edate": "2031年11月1日",
        "department": "后勤部",
        "position": "大茶壶",
        "company": "深圳怡红院"
    }
]

# 对列表进行循环遍历，批量生成word文件
for person in person_list:
    # 读取离职证明模版文件
    doc = Document("/Users/zhubiao/Desktop/codes/python/Python_Basic/codes/11月3日/课堂跟随/离职证明模板.docx")

    # 循环遍历文件中的所有的段落，查找占位符占位符
    for p in doc.paragraphs:
        if '{' not in p.text:
            continue
        # 不能直接修改段落内容，否则会丢失样式，所以需要对段落中的元素进行遍历并实现查找和替换
        for run in p.runs:
            if '{' not in run.text:
                continue
            # 将占位醋中的内容进行替换
            # print(type(run.text))   # str
            start, end = run.text.find('{'), run.text.find('}')
            key, place_holder = run.text[start + 1: end], run.text[start: end + 1]
            run.text = run.text.replace(place_holder, person[f'{key}'])
            # print(run.text)

    # 每个月保存一个word文档
    # doc.save(f"{person['name']}离职证明.docx")
